Computing devices establish peer-to-peer connections for messaging, gaming, file exchange, and other applications. Existing wired networking systems enable the connectivity between endpoints via relaying and connectivity establishment techniques. In some of the existing systems, because of differences in network address translation and port availability, various connection paths are probed when establishing a peer-to-peer connection to identify the best connection. The identified connection is used for the duration of the peer-to-peer communication as connection quality in the wired networking systems is typically static.
In wireless networking systems, however, connection quality varies over time. For example, topology changes may occur such as when one or both of the devices changes locations. The existing systems fail to accommodate such topology changes, are expensive, and not scalable.